/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package org.apli.haiam.ejb.entidades;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Informática
 */
@Entity
@Table(name = "cex_historia_clinica")
@NamedQueries({
    @NamedQuery(name = "CexHistoriaClinica.findAll", query = "SELECT c FROM CexHistoriaClinica c")})
public class CexHistoriaClinica implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "chc_id")
    private Integer chcId;
    @Basic(optional = false)
    @Column(name = "chc_historia_clinica")
    private String chcHistoriaClinica;
    @Basic(optional = false)
    @Column(name = "chc_apellido_paterno")
    private String chcApellidoPaterno;
    @Basic(optional = false)
    @Column(name = "chc_primer_nombre")
    private String chcPrimerNombre;
    @Basic(optional = false)
    @Column(name = "chc_cedula")
    private String chcCedula;
    @Column(name = "chc_direccion")
    private String chcDireccion;
    @Column(name = "chc_barrio")
    private String chcBarrio;
    @Column(name = "chc_telefono_conv")
    private String chcTelefonoConv;
    @Column(name = "chc_telefono_movil")
    private String chcTelefonoMovil;
    @Column(name = "chc_telefono_trabajo")
    private String chcTelefonoTrabajo;
    @Column(name = "chc_fecha_nacimiento")
    @Temporal(TemporalType.DATE)
    private Date chcFechaNacimiento;
    @Column(name = "chc_lugar_nacimiento")
    private String chcLugarNacimiento;
    @Basic(optional = false)
    @Column(name = "chc_edad")
    private Integer chcEdad;
    @Basic(optional = false)
    @Column(name = "chc_genero")
    private int chcGenero;
    @Basic(optional = false)
    @Column(name = "chc_estado_civil")
    private int chcEstadoCivil;
    @Column(name = "chc_email")
    private String chcEmail;
    @Column(name = "chc_instruccion")
    private String chcInstruccion;
    @Column(name = "chc_fecha_admision")
    @Temporal(TemporalType.DATE)
    private Date chcFechaAdmision;
    @Column(name = "chc_ocupacion")
    private String chcOcupacion;
    @Column(name = "chc_nombre_empresa")
    private String chcNombreEmpresa;
    @Column(name = "chc_referido")
    private String chcReferido;
    @Column(name = "chc_nombre_referencia")
    private String chcNombreReferencia;
    @Column(name = "chc_direccion_referencia")
    private String chcDireccionReferencia;
    @Column(name = "chc_relefono_referencia")
    private String chcRelefonoReferencia;
    @Basic(optional = false)
    @Column(name = "chc_estado")
    private int chcEstado;
    @Column(name = "chc_nombre_full")
    private String chcNombreFull;
    @Basic(optional = false)
    @Column(name = "chc_id_institucion")
    private int chcIdInstitucion;
    @Basic(optional = false)
    @Column(name = "chc_id_usuario")
    private int chcIdUsuario;
    @Column(name = "chc_nombre_institucion")
    private String chcNombreInstitucion;
    @Column(name = "chc_nombre_usuario")
    private String chcNombreUsuario;
    @Column(name = "chc_id_institucion_sistema")
    private Integer chcIdInstitucionSistema;
    @Column(name = "chc_nombre_institucion_sistema")
    private String chcNombreInstitucionSistema;
    @Column(name = "chc_apellido_materno")
    private String chcApellidoMaterno;
    @Column(name = "chc_segundo_nombre")
    private String chcSegundoNombre;
    @Column(name = "chc_dip_codigo_provincia")
    private String chcDipCodigoProvincia;
    @Column(name = "chc_dip_codigo_canton")
    private String chcDipCodigoCanton;
    @Column(name = "chc_dip_codigo_parroquia")
    private String chcDipCodigoParroquia;
    @Column(name = "chc_nombre_distrito")
    private String chcNombreDistrito;
    @Column(name = "chc_nombre_provincia")
    private String chcNombreProvincia;
    @Column(name = "chc_nombre_canton")
    private String chcNombreCanton;
    @Column(name = "chc_nombre_parroquia")
    private String chcNombreParroquia;
    @Column(name = "chc_nombre_padre")
    private String chcNombrePadre;
    @Column(name = "chc_nombre_madre")
    private String chcNombreMadre;
    @Column(name = "chc_tipo_ingreso")
    private Integer chcTipoIngreso;
    @Column(name = "chc_tipo_inactividad")
    private Integer chcTipoInactividad;
    @Column(name = "chc_cedula_representante")
    private String chcCedulaRepresentante;
    @Column(name = "chc_pasaporte")
    private String chcPasaporte;
    @Column(name = "chc_tipo_servicio_primera")
    private Integer chcTipoServicioPrimera;
    @Column(name = "chc_observacion")
    private String chcObservacion;
    @JoinColumn(name = "id_division", referencedColumnName = "id_division")
    @ManyToOne(fetch = FetchType.LAZY)
    private AdmDivisionPolitica admDivisionPolitica;
    @JoinColumn(name = "id_lugar_institucion", referencedColumnName = "id_lugar_atencion")
    @ManyToOne(fetch = FetchType.LAZY)
    private AdmLugarAtencion admLugarAtencion;
    @JoinColumn(name = "id_tipo_institucion", referencedColumnName = "id_tipo_institucion")
    @ManyToOne(fetch = FetchType.LAZY)
    private AdmTipoInstitucion admTipoInstitucion;
    @JoinColumn(name = "cgc_id", referencedColumnName = "cgc_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private CexGrupoCultural cexGrupoCultural;
    @JoinColumn(name = "cna_id", referencedColumnName = "cna_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private CexNacionalidad cexNacionalidad;
    @JoinColumn(name = "cnc_id", referencedColumnName = "cnc_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private CexNacionalidadCultural cexNacionalidadCultural;
    @JoinColumn(name = "cpa_id", referencedColumnName = "cpa_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private CexParentesco cexParentesco;
    @JoinColumn(name = "cpu_id", referencedColumnName = "cpu_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private CexPueblo cexPueblo;
    @JoinColumn(name = "cse_id", referencedColumnName = "cts_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private CexTipoSeguro cexTipoSeguro;
    @OneToMany(mappedBy = "cexHistoriaClinica", fetch = FetchType.LAZY)
    private List<EmeAtencion> emeAtencionList;
    @OneToMany(mappedBy = "cexHistoriaClinica", fetch = FetchType.LAZY)
    private List<HosReferenciaContrareferencia> hosReferenciaContrareferenciaList;
    @OneToMany(mappedBy = "cexHistoriaClinica", fetch = FetchType.LAZY)
    @OrderBy("cagFecha DESC")
    private List<CexAgenda> cexAgendaList;

    public CexHistoriaClinica() {
    }

    public CexHistoriaClinica(Integer chcId) {
        this.chcId = chcId;
    }

    public CexHistoriaClinica(Integer chcId, String chcHistoriaClinica, String chcApellidoPaterno, String chcPrimerNombre, String chcCedula, Integer chcEdad, int chcGenero, int chcEstadoCivil, int chcEstado, int chcIdInstitucion, int chcIdUsuario) {
        this.chcId = chcId;
        this.chcHistoriaClinica = chcHistoriaClinica;
        this.chcApellidoPaterno = chcApellidoPaterno;
        this.chcPrimerNombre = chcPrimerNombre;
        this.chcCedula = chcCedula;
        this.chcEdad = chcEdad;
        this.chcGenero = chcGenero;
        this.chcEstadoCivil = chcEstadoCivil;
        this.chcEstado = chcEstado;
        this.chcIdInstitucion = chcIdInstitucion;
        this.chcIdUsuario = chcIdUsuario;
    }

    public Integer getChcId() {
        return chcId;
    }

    public void setChcId(Integer chcId) {
        this.chcId = chcId;
    }

    public String getChcHistoriaClinica() {
        return chcHistoriaClinica;
    }

    public void setChcHistoriaClinica(String chcHistoriaClinica) {
        this.chcHistoriaClinica = chcHistoriaClinica;
    }

    public String getChcApellidoPaterno() {
        return chcApellidoPaterno;
    }

    public void setChcApellidoPaterno(String chcApellidoPaterno) {
        this.chcApellidoPaterno = chcApellidoPaterno;
    }

    public String getChcPrimerNombre() {
        return chcPrimerNombre;
    }

    public void setChcPrimerNombre(String chcPrimerNombre) {
        this.chcPrimerNombre = chcPrimerNombre;
    }

    public String getChcCedula() {
        return chcCedula;
    }

    public void setChcCedula(String chcCedula) {
        this.chcCedula = chcCedula;
    }

    public String getChcDireccion() {
        return chcDireccion;
    }

    public void setChcDireccion(String chcDireccion) {
        this.chcDireccion = chcDireccion;
    }

    public String getChcBarrio() {
        return chcBarrio;
    }

    public void setChcBarrio(String chcBarrio) {
        this.chcBarrio = chcBarrio;
    }

    public String getChcTelefonoConv() {
        return chcTelefonoConv;
    }

    public void setChcTelefonoConv(String chcTelefonoConv) {
        this.chcTelefonoConv = chcTelefonoConv;
    }

    public String getChcTelefonoMovil() {
        return chcTelefonoMovil;
    }

    public void setChcTelefonoMovil(String chcTelefonoMovil) {
        this.chcTelefonoMovil = chcTelefonoMovil;
    }

    public String getChcTelefonoTrabajo() {
        return chcTelefonoTrabajo;
    }

    public void setChcTelefonoTrabajo(String chcTelefonoTrabajo) {
        this.chcTelefonoTrabajo = chcTelefonoTrabajo;
    }

    public Date getChcFechaNacimiento() {
        return chcFechaNacimiento;
    }

    public void setChcFechaNacimiento(Date chcFechaNacimiento) {
        this.chcFechaNacimiento = chcFechaNacimiento;
    }

    public String getChcLugarNacimiento() {
        return chcLugarNacimiento;
    }

    public void setChcLugarNacimiento(String chcLugarNacimiento) {
        this.chcLugarNacimiento = chcLugarNacimiento;
    }

    public Integer getChcEdad() {
        return chcEdad;
    }

    public void setChcEdad(Integer chcEdad) {
        this.chcEdad = chcEdad;
    }

    public int getChcGenero() {
        return chcGenero;
    }

    public void setChcGenero(int chcGenero) {
        this.chcGenero = chcGenero;
    }

    public int getChcEstadoCivil() {
        return chcEstadoCivil;
    }

    public void setChcEstadoCivil(int chcEstadoCivil) {
        this.chcEstadoCivil = chcEstadoCivil;
    }

    public String getChcEmail() {
        return chcEmail;
    }

    public void setChcEmail(String chcEmail) {
        this.chcEmail = chcEmail;
    }

    public String getChcInstruccion() {
        return chcInstruccion;
    }

    public void setChcInstruccion(String chcInstruccion) {
        this.chcInstruccion = chcInstruccion;
    }

    public Date getChcFechaAdmision() {
        return chcFechaAdmision;
    }

    public void setChcFechaAdmision(Date chcFechaAdmision) {
        this.chcFechaAdmision = chcFechaAdmision;
    }

    public String getChcOcupacion() {
        return chcOcupacion;
    }

    public void setChcOcupacion(String chcOcupacion) {
        this.chcOcupacion = chcOcupacion;
    }

    public String getChcNombreEmpresa() {
        return chcNombreEmpresa;
    }

    public void setChcNombreEmpresa(String chcNombreEmpresa) {
        this.chcNombreEmpresa = chcNombreEmpresa;
    }

    public String getChcReferido() {
        return chcReferido;
    }

    public void setChcReferido(String chcReferido) {
        this.chcReferido = chcReferido;
    }

    public String getChcNombreReferencia() {
        return chcNombreReferencia;
    }

    public void setChcNombreReferencia(String chcNombreReferencia) {
        this.chcNombreReferencia = chcNombreReferencia;
    }

    public String getChcDireccionReferencia() {
        return chcDireccionReferencia;
    }

    public void setChcDireccionReferencia(String chcDireccionReferencia) {
        this.chcDireccionReferencia = chcDireccionReferencia;
    }

    public String getChcRelefonoReferencia() {
        return chcRelefonoReferencia;
    }

    public void setChcRelefonoReferencia(String chcRelefonoReferencia) {
        this.chcRelefonoReferencia = chcRelefonoReferencia;
    }

    public int getChcEstado() {
        return chcEstado;
    }

    public void setChcEstado(int chcEstado) {
        this.chcEstado = chcEstado;
    }

    public String getChcNombreFull() {
        return chcNombreFull;
    }

    public void setChcNombreFull(String chcNombreFull) {
        this.chcNombreFull = chcNombreFull;
    }

    public int getChcIdInstitucion() {
        return chcIdInstitucion;
    }

    public void setChcIdInstitucion(int chcIdInstitucion) {
        this.chcIdInstitucion = chcIdInstitucion;
    }

    public int getChcIdUsuario() {
        return chcIdUsuario;
    }

    public void setChcIdUsuario(int chcIdUsuario) {
        this.chcIdUsuario = chcIdUsuario;
    }

    public String getChcNombreInstitucion() {
        return chcNombreInstitucion;
    }

    public void setChcNombreInstitucion(String chcNombreInstitucion) {
        this.chcNombreInstitucion = chcNombreInstitucion;
    }

    public String getChcNombreUsuario() {
        return chcNombreUsuario;
    }

    public void setChcNombreUsuario(String chcNombreUsuario) {
        this.chcNombreUsuario = chcNombreUsuario;
    }

    public Integer getChcIdInstitucionSistema() {
        return chcIdInstitucionSistema;
    }

    public void setChcIdInstitucionSistema(Integer chcIdInstitucionSistema) {
        this.chcIdInstitucionSistema = chcIdInstitucionSistema;
    }

    public String getChcNombreInstitucionSistema() {
        return chcNombreInstitucionSistema;
    }

    public void setChcNombreInstitucionSistema(String chcNombreInstitucionSistema) {
        this.chcNombreInstitucionSistema = chcNombreInstitucionSistema;
    }

    public String getChcApellidoMaterno() {
        return chcApellidoMaterno;
    }

    public void setChcApellidoMaterno(String chcApellidoMaterno) {
        this.chcApellidoMaterno = chcApellidoMaterno;
    }

    public String getChcSegundoNombre() {
        return chcSegundoNombre;
    }

    public void setChcSegundoNombre(String chcSegundoNombre) {
        this.chcSegundoNombre = chcSegundoNombre;
    }

    public String getChcDipCodigoProvincia() {
        return chcDipCodigoProvincia;
    }

    public void setChcDipCodigoProvincia(String chcDipCodigoProvincia) {
        this.chcDipCodigoProvincia = chcDipCodigoProvincia;
    }

    public String getChcDipCodigoCanton() {
        return chcDipCodigoCanton;
    }

    public void setChcDipCodigoCanton(String chcDipCodigoCanton) {
        this.chcDipCodigoCanton = chcDipCodigoCanton;
    }

    public String getChcDipCodigoParroquia() {
        return chcDipCodigoParroquia;
    }

    public void setChcDipCodigoParroquia(String chcDipCodigoParroquia) {
        this.chcDipCodigoParroquia = chcDipCodigoParroquia;
    }

    public String getChcNombreDistrito() {
        return chcNombreDistrito;
    }

    public void setChcNombreDistrito(String chcNombreDistrito) {
        this.chcNombreDistrito = chcNombreDistrito;
    }

    public String getChcNombreProvincia() {
        return chcNombreProvincia;
    }

    public void setChcNombreProvincia(String chcNombreProvincia) {
        this.chcNombreProvincia = chcNombreProvincia;
    }

    public String getChcNombreCanton() {
        return chcNombreCanton;
    }

    public void setChcNombreCanton(String chcNombreCanton) {
        this.chcNombreCanton = chcNombreCanton;
    }

    public String getChcNombreParroquia() {
        return chcNombreParroquia;
    }

    public void setChcNombreParroquia(String chcNombreParroquia) {
        this.chcNombreParroquia = chcNombreParroquia;
    }

    public String getChcNombrePadre() {
        return chcNombrePadre;
    }

    public void setChcNombrePadre(String chcNombrePadre) {
        this.chcNombrePadre = chcNombrePadre;
    }

    public String getChcNombreMadre() {
        return chcNombreMadre;
    }

    public void setChcNombreMadre(String chcNombreMadre) {
        this.chcNombreMadre = chcNombreMadre;
    }

    public Integer getChcTipoIngreso() {
        return chcTipoIngreso;
    }

    public void setChcTipoIngreso(Integer chcTipoIngreso) {
        this.chcTipoIngreso = chcTipoIngreso;
    }

    public Integer getChcTipoInactividad() {
        return chcTipoInactividad;
    }

    public void setChcTipoInactividad(Integer chcTipoInactividad) {
        this.chcTipoInactividad = chcTipoInactividad;
    }

    public String getChcCedulaRepresentante() {
        return chcCedulaRepresentante;
    }

    public void setChcCedulaRepresentante(String chcCedulaRepresentante) {
        this.chcCedulaRepresentante = chcCedulaRepresentante;
    }

    public String getChcPasaporte() {
        return chcPasaporte;
    }

    public void setChcPasaporte(String chcPasaporte) {
        this.chcPasaporte = chcPasaporte;
    }

    public Integer getChcTipoServicioPrimera() {
        return chcTipoServicioPrimera;
    }

    public void setChcTipoServicioPrimera(Integer chcTipoServicioPrimera) {
        this.chcTipoServicioPrimera = chcTipoServicioPrimera;
    }

    public String getChcObservacion() {
        return chcObservacion;
    }

    public void setChcObservacion(String chcObservacion) {
        this.chcObservacion = chcObservacion;
    }

    public AdmDivisionPolitica getAdmDivisionPolitica() {
        return admDivisionPolitica;
    }

    public void setAdmDivisionPolitica(AdmDivisionPolitica admDivisionPolitica) {
        this.admDivisionPolitica = admDivisionPolitica;
    }

    public AdmLugarAtencion getAdmLugarAtencion() {
        return admLugarAtencion;
    }

    public void setAdmLugarAtencion(AdmLugarAtencion admLugarAtencion) {
        this.admLugarAtencion = admLugarAtencion;
    }

    public AdmTipoInstitucion getAdmTipoInstitucion() {
        return admTipoInstitucion;
    }

    public void setAdmTipoInstitucion(AdmTipoInstitucion admTipoInstitucion) {
        this.admTipoInstitucion = admTipoInstitucion;
    }

    public CexGrupoCultural getCexGrupoCultural() {
        return cexGrupoCultural;
    }

    public void setCexGrupoCultural(CexGrupoCultural cexGrupoCultural) {
        this.cexGrupoCultural = cexGrupoCultural;
    }

    public CexNacionalidad getCexNacionalidad() {
        return cexNacionalidad;
    }

    public void setCexNacionalidad(CexNacionalidad cexNacionalidad) {
        this.cexNacionalidad = cexNacionalidad;
    }

    public CexNacionalidadCultural getCexNacionalidadCultural() {
        return cexNacionalidadCultural;
    }

    public void setCexNacionalidadCultural(CexNacionalidadCultural cexNacionalidadCultural) {
        this.cexNacionalidadCultural = cexNacionalidadCultural;
    }

    public CexParentesco getCexParentesco() {
        return cexParentesco;
    }

    public void setCexParentesco(CexParentesco cexParentesco) {
        this.cexParentesco = cexParentesco;
    }

    public CexPueblo getCexPueblo() {
        return cexPueblo;
    }

    public void setCexPueblo(CexPueblo cexPueblo) {
        this.cexPueblo = cexPueblo;
    }

    public CexTipoSeguro getCexTipoSeguro() {
        return cexTipoSeguro;
    }

    public void setCexTipoSeguro(CexTipoSeguro cexTipoSeguro) {
        this.cexTipoSeguro = cexTipoSeguro;
    }

    public List<EmeAtencion> getEmeAtencionList() {
        return emeAtencionList;
    }

    public void setEmeAtencionList(List<EmeAtencion> emeAtencionList) {
        this.emeAtencionList = emeAtencionList;
    }

    public List<HosReferenciaContrareferencia> getHosReferenciaContrareferenciaList() {
        return hosReferenciaContrareferenciaList;
    }

    public void setHosReferenciaContrareferenciaList(List<HosReferenciaContrareferencia> hosReferenciaContrareferenciaList) {
        this.hosReferenciaContrareferenciaList = hosReferenciaContrareferenciaList;
    }

    public List<CexAgenda> getCexAgendaList() {
        return cexAgendaList;
    }

    public void setCexAgendaList(List<CexAgenda> cexAgendaList) {
        this.cexAgendaList = cexAgendaList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (chcId != null ? chcId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof CexHistoriaClinica)) {
            return false;
        }
        CexHistoriaClinica other = (CexHistoriaClinica) object;
        if ((this.chcId == null && other.chcId != null) || (this.chcId != null && !this.chcId.equals(other.chcId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "newpackage.CexHistoriaClinica[ chcId=" + chcId + " ]";
    }

}
